package com.insideClass.Queue;

import com.insideClass.typeinfo.Pet;
import com.insideClass.typeinfo.Pets;

import java.util.*;

/**
 * @author 13699
 */
public class InterfaceVsIterator {
    public static void display(Iterator<Pet> it){
        while (it.hasNext()){
            Pet p=it.next();
            System.out.print(p.id()+":"+p+" ");
        }
        System.out.println();
    }
    public static void display(Collection<Pet> pets){
        for (Pet p:
             pets) {
            System.out.print(p.id()+":"+p+" ");
        }
        System.out.println();
    }

    public static void main(String[] args) {
        List<Pet> petList= Pets.arrayList(8);
        Set<Pet> petset=new HashSet<>(petList);
        Map<String,Pet> petMap=new LinkedHashMap<>();
        String[] names=("Ralph,Eric,Robin,Lacey,"
                +"Britney,Sam,Spot,Fluffy").split(".");
        for(int i=0;i<names.length;i++){
            petMap.put(names[i],petList.get(i));
        }
        display(petList);
        display(petset);
        display(petList.iterator());
        display(petset.iterator());
        System.out.print(petMap);
        System.out.print(petMap.keySet());
        display(petMap.values());
        display(petMap.values().iterator());
    }
}
